TSTP Solution File: PUZ141^1 by cvc5---1.0.5
View Problem
- Process Solution
%------------------------------------------------------------------------------
% File : cvc5---1.0.5
% Problem : PUZ141^1 : TPTP v8.1.2. Released v6.2.0.
% Transfm : none
% Format : tptp
% Command : do_cvc5 %s %d
% Computer : n002.cluster.edu
% Model : x86_64 x86_64
% CPU : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory : 8042.1875MB
% OS : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit : 300s
% DateTime : Thu Aug 31 13:13:34 EDT 2023
% Result : Theorem 0.21s 0.54s
% Output : Proof 0.21s
% Verified :
% SZS Type : -
% Comments :
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.13/0.13 % Problem : PUZ141^1 : TPTP v8.1.2. Released v6.2.0.
% 0.13/0.14 % Command : do_cvc5 %s %d
% 0.15/0.35 % Computer : n002.cluster.edu
% 0.15/0.35 % Model : x86_64 x86_64
% 0.15/0.35 % CPU : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.35 % Memory : 8042.1875MB
% 0.15/0.35 % OS : Linux 3.10.0-693.el7.x86_64
% 0.15/0.35 % CPULimit : 300
% 0.15/0.35 % WCLimit : 300
% 0.15/0.35 % DateTime : Sat Aug 26 23:11:18 EDT 2023
% 0.15/0.35 % CPUTime :
% 0.21/0.49 %----Proving TH0
% 0.21/0.50 %------------------------------------------------------------------------------
% 0.21/0.50 % File : PUZ141^1 : TPTP v8.1.2. Released v6.2.0.
% 0.21/0.50 % Domain : Puzzles
% 0.21/0.50 % Problem : Labyrinth1
% 0.21/0.50 % Version : Especial.
% 0.21/0.50 % English : Move 2 to the right.
% 0.21/0.50
% 0.21/0.50 % Refs : [Cam14] Camarero (2014), Email to Geoff Sutcliffe
% 0.21/0.50 % Source : [Cam14]
% 0.21/0.50 % Names : labyrinth1 [Cam14]
% 0.21/0.50
% 0.21/0.50 % Status : Theorem
% 0.21/0.50 % Rating : 0.08 v8.1.0, 0.09 v7.5.0, 0.14 v7.4.0, 0.33 v7.2.0, 0.25 v7.1.0, 0.38 v7.0.0, 0.29 v6.4.0, 0.33 v6.3.0, 0.80 v6.2.0
% 0.21/0.50 % Syntax : Number of formulae : 27 ( 10 unt; 15 typ; 2 def)
% 0.21/0.50 % Number of atoms : 22 ( 14 equ; 0 cnn)
% 0.21/0.50 % Maximal formula atoms : 3 ( 1 avg)
% 0.21/0.50 % Number of connectives : 46 ( 1 ~; 0 |; 0 &; 41 @)
% 0.21/0.50 % ( 0 <=>; 4 =>; 0 <=; 0 <~>)
% 0.21/0.50 % Maximal formula depth : 10 ( 3 avg)
% 0.21/0.50 % Number of types : 4 ( 3 usr)
% 0.21/0.50 % Number of type conns : 6 ( 6 >; 0 *; 0 +; 0 <<)
% 0.21/0.50 % Number of symbols : 14 ( 12 usr; 9 con; 0-2 aty)
% 0.21/0.50 % Number of variables : 12 ( 0 ^; 11 !; 1 ?; 12 :)
% 0.21/0.50 % SPC : TH0_THM_EQU_NAR
% 0.21/0.50
% 0.21/0.50 % Comments :
% 0.21/0.50 %------------------------------------------------------------------------------
% 0.21/0.50 thf(position_type,type,
% 0.21/0.50 position: $tType ).
% 0.21/0.50
% 0.21/0.50 thf(direction_type,type,
% 0.21/0.50 direction: $tType ).
% 0.21/0.50
% 0.21/0.50 thf(left_type,type,
% 0.21/0.50 left: direction ).
% 0.21/0.50
% 0.21/0.50 thf(right_type,type,
% 0.21/0.50 right: direction ).
% 0.21/0.50
% 0.21/0.50 thf(top_type,type,
% 0.21/0.50 top: direction ).
% 0.21/0.50
% 0.21/0.50 thf(bottom_type,type,
% 0.21/0.50 bottom: direction ).
% 0.21/0.50
% 0.21/0.50 thf(next_type,type,
% 0.21/0.50 next: position > direction > position ).
% 0.21/0.50
% 0.21/0.50 thf(next_comm,axiom,
% 0.21/0.50 ! [D1: direction,D2: direction,P: position] :
% 0.21/0.50 ( ( next @ ( next @ P @ D1 ) @ D2 )
% 0.21/0.50 = ( next @ ( next @ P @ D2 ) @ D1 ) ) ).
% 0.21/0.50
% 0.21/0.50 thf(left_right,axiom,
% 0.21/0.50 ! [P: position] :
% 0.21/0.50 ( ( next @ ( next @ P @ left ) @ right )
% 0.21/0.50 = P ) ).
% 0.21/0.50
% 0.21/0.50 thf(top_bottom,axiom,
% 0.21/0.50 ! [P: position] :
% 0.21/0.50 ( ( next @ ( next @ P @ top ) @ bottom )
% 0.21/0.50 = P ) ).
% 0.21/0.50
% 0.21/0.50 thf(wall_type,type,
% 0.21/0.50 wall: position > $o ).
% 0.21/0.50
% 0.21/0.50 %----Inductive MoveList. For the moment we do not include the inductive axioms.
% 0.21/0.50 thf(movelist_type,type,
% 0.21/0.50 movelist: $tType ).
% 0.21/0.50
% 0.21/0.50 thf(nomove_type,type,
% 0.21/0.50 nomove: movelist ).
% 0.21/0.50
% 0.21/0.50 thf(movedir_type,type,
% 0.21/0.50 movedir: movelist > direction > movelist ).
% 0.21/0.50
% 0.21/0.50 %----The position of the player after a list of movements
% 0.21/0.50 thf(playerpos_type,type,
% 0.21/0.50 playerpos: movelist > position ).
% 0.21/0.50
% 0.21/0.50 thf(player_move_legal,axiom,
% 0.21/0.50 ! [PO: position,M: movelist,D: direction] :
% 0.21/0.50 ( ( ( playerpos @ M )
% 0.21/0.50 = PO )
% 0.21/0.50 => ( ~ ( wall @ ( next @ PO @ D ) )
% 0.21/0.50 => ( ( playerpos @ ( movedir @ M @ D ) )
% 0.21/0.50 = ( next @ PO @ D ) ) ) ) ).
% 0.21/0.50
% 0.21/0.50 thf(player_move_illegal,axiom,
% 0.21/0.50 ! [PO: position,M: movelist,D: direction] :
% 0.21/0.50 ( ( ( playerpos @ M )
% 0.21/0.50 = PO )
% 0.21/0.50 => ( ( wall @ ( next @ PO @ D ) )
% 0.21/0.50 => ( ( playerpos @ ( movedir @ M @ D ) )
% 0.21/0.50 = PO ) ) ) ).
% 0.21/0.50
% 0.21/0.50 thf(c00_type,type,
% 0.21/0.50 c00: position ).
% 0.21/0.50
% 0.21/0.50 thf(c10_type,type,
% 0.21/0.50 c10: position ).
% 0.21/0.50
% 0.21/0.50 thf(c20_type,type,
% 0.21/0.50 c20: position ).
% 0.21/0.50
% 0.21/0.50 thf(c10_defin,definition,
% 0.21/0.50 ( c10
% 0.21/0.50 = ( next @ c00 @ right ) ) ).
% 0.21/0.50
% 0.21/0.50 thf(c20_defin,definition,
% 0.21/0.50 ( c20
% 0.21/0.50 = ( next @ c10 @ right ) ) ).
% 0.21/0.50
% 0.21/0.50 %----Exercise 1. Move 2 to the right
% 0.21/0.50 thf(c00_axiom,axiom,
% 0.21/0.50 ( ( wall @ c00 )
% 0.21/0.50 = $false ) ).
% 0.21/0.50
% 0.21/0.50 thf(c10_axiom,axiom,
% 0.21/0.50 ( ( wall @ c10 )
% 0.21/0.50 = $false ) ).
% 0.21/0.50
% 0.21/0.50 thf(c20_axiom,axiom,
% 0.21/0.50 ( ( wall @ c20 )
% 0.21/0.50 = $false ) ).
% 0.21/0.50
% 0.21/0.50 thf(start_axiom,axiom,
% 0.21/0.50 ( ( playerpos @ nomove )
% 0.21/0.50 = c00 ) ).
% 0.21/0.50
% 0.21/0.50 thf(exercise,conjecture,
% 0.21/0.50 ? [M: movelist] :
% 0.21/0.50 ( ( playerpos @ M )
% 0.21/0.50 = c20 ) ).
% 0.21/0.50
% 0.21/0.50 %------------------------------------------------------------------------------
% 0.21/0.50 ------- convert to smt2 : /export/starexec/sandbox2/tmp/tmp.V3tCJxy9iu/cvc5---1.0.5_8398.p...
% 0.21/0.50 (declare-sort $$unsorted 0)
% 0.21/0.50 (declare-sort tptp.position 0)
% 0.21/0.50 (declare-sort tptp.direction 0)
% 0.21/0.50 (declare-fun tptp.left () tptp.direction)
% 0.21/0.50 (declare-fun tptp.right () tptp.direction)
% 0.21/0.50 (declare-fun tptp.top () tptp.direction)
% 0.21/0.50 (declare-fun tptp.bottom () tptp.direction)
% 0.21/0.50 (declare-fun tptp.next (tptp.position tptp.direction) tptp.position)
% 0.21/0.50 (assert (forall ((D1 tptp.direction) (D2 tptp.direction) (P tptp.position)) (let ((_let_1 (@ tptp.next P))) (= (@ (@ tptp.next (@ _let_1 D1)) D2) (@ (@ tptp.next (@ _let_1 D2)) D1)))))
% 0.21/0.54 (assert (forall ((P tptp.position)) (= (@ (@ tptp.next (@ (@ tptp.next P) tptp.left)) tptp.right) P)))
% 0.21/0.54 (assert (forall ((P tptp.position)) (= (@ (@ tptp.next (@ (@ tptp.next P) tptp.top)) tptp.bottom) P)))
% 0.21/0.54 (declare-fun tptp.wall (tptp.position) Bool)
% 0.21/0.54 (declare-sort tptp.movelist 0)
% 0.21/0.54 (declare-fun tptp.nomove () tptp.movelist)
% 0.21/0.54 (declare-fun tptp.movedir (tptp.movelist tptp.direction) tptp.movelist)
% 0.21/0.54 (declare-fun tptp.playerpos (tptp.movelist) tptp.position)
% 0.21/0.54 (assert (forall ((PO tptp.position) (M tptp.movelist) (D tptp.direction)) (let ((_let_1 (@ (@ tptp.next PO) D))) (=> (= (@ tptp.playerpos M) PO) (=> (not (@ tptp.wall _let_1)) (= (@ tptp.playerpos (@ (@ tptp.movedir M) D)) _let_1))))))
% 0.21/0.54 (assert (forall ((PO tptp.position) (M tptp.movelist) (D tptp.direction)) (=> (= (@ tptp.playerpos M) PO) (=> (@ tptp.wall (@ (@ tptp.next PO) D)) (= (@ tptp.playerpos (@ (@ tptp.movedir M) D)) PO)))))
% 0.21/0.54 (declare-fun tptp.c00 () tptp.position)
% 0.21/0.54 (declare-fun tptp.c10 () tptp.position)
% 0.21/0.54 (declare-fun tptp.c20 () tptp.position)
% 0.21/0.54 (assert (= tptp.c10 (@ (@ tptp.next tptp.c00) tptp.right)))
% 0.21/0.54 (assert (= tptp.c20 (@ (@ tptp.next tptp.c10) tptp.right)))
% 0.21/0.54 (assert (= (@ tptp.wall tptp.c00) false))
% 0.21/0.54 (assert (= (@ tptp.wall tptp.c10) false))
% 0.21/0.54 (assert (= (@ tptp.wall tptp.c20) false))
% 0.21/0.54 (assert (= (@ tptp.playerpos tptp.nomove) tptp.c00))
% 0.21/0.54 (assert (not (exists ((M tptp.movelist)) (= (@ tptp.playerpos M) tptp.c20))))
% 0.21/0.54 (set-info :filename cvc5---1.0.5_8398)
% 0.21/0.54 (check-sat-assuming ( true ))
% 0.21/0.54 ------- get file name : TPTP file name is PUZ141^1
% 0.21/0.54 ------- cvc5-thf : /export/starexec/sandbox2/solver/bin/cvc5---1.0.5_8398.smt2...
% 0.21/0.54 --- Run --ho-elim --full-saturate-quant at 10...
% 0.21/0.54 % SZS status Theorem for PUZ141^1
% 0.21/0.54 % SZS output start Proof for PUZ141^1
% 0.21/0.54 (
% 0.21/0.54 (let ((_let_1 (not (exists ((M tptp.movelist)) (= (@ tptp.playerpos M) tptp.c20))))) (let ((_let_2 (@ tptp.playerpos tptp.nomove))) (let ((_let_3 (= _let_2 tptp.c00))) (let ((_let_4 (@ tptp.wall tptp.c20))) (let ((_let_5 (= _let_4 false))) (let ((_let_6 (@ tptp.wall tptp.c10))) (let ((_let_7 (= _let_6 false))) (let ((_let_8 (= tptp.c20 (@ (@ tptp.next tptp.c10) tptp.right)))) (let ((_let_9 (= tptp.c10 (@ (@ tptp.next tptp.c00) tptp.right)))) (let ((_let_10 (forall ((PO tptp.position) (M tptp.movelist) (D tptp.direction)) (let ((_let_1 (@ (@ tptp.next PO) D))) (=> (= (@ tptp.playerpos M) PO) (=> (not (@ tptp.wall _let_1)) (= (@ tptp.playerpos (@ (@ tptp.movedir M) D)) _let_1))))))) (let ((_let_11 (forall ((M tptp.movelist)) (not (= (ho_4 (ho_3 k_2 (ho_4 (ho_3 k_2 (ho_6 k_5 tptp.nomove)) tptp.right)) tptp.right) (ho_6 k_5 M)))))) (let ((_let_12 (ho_9 (ho_8 k_7 tptp.nomove) tptp.right))) (let ((_let_13 (ho_9 (ho_8 k_7 _let_12) tptp.right))) (let ((_let_14 (ho_6 k_5 _let_13))) (let ((_let_15 (ho_4 (ho_3 k_2 (ho_6 k_5 tptp.nomove)) tptp.right))) (let ((_let_16 (ho_4 (ho_3 k_2 _let_15) tptp.right))) (let ((_let_17 (= _let_16 _let_14))) (let ((_let_18 (ASSUME :args (_let_9)))) (let ((_let_19 (AND_INTRO (SYMM (ASSUME :args (_let_3))) (EQ_RESOLVE (ASSUME :args (_let_8)) (MACRO_SR_EQ_INTRO _let_18 :args (_let_8 SB_DEFAULT SBA_FIXPOINT))) _let_18))) (let ((_let_20 (EQ_RESOLVE (ASSUME :args (_let_1)) (TRANS (MACRO_SR_EQ_INTRO :args (_let_1 SB_DEFAULT SBA_FIXPOINT)) (MACRO_SR_EQ_INTRO _let_19 :args ((forall ((M tptp.movelist)) (not (= tptp.c20 (@ tptp.playerpos M)))) SB_DEFAULT SBA_FIXPOINT)) (PREPROCESS :args ((= (forall ((M tptp.movelist)) (not (= (@ tptp.playerpos M) (@ (@ tptp.next (@ (@ tptp.next (@ tptp.playerpos tptp.nomove)) tptp.right)) tptp.right)))) _let_11))))))) (let ((_let_21 (ho_6 k_5 _let_12))) (let ((_let_22 (ho_4 (ho_3 k_2 _let_21) tptp.right))) (let ((_let_23 (= _let_22 _let_14))) (let ((_let_24 (= _let_15 _let_21))) (let ((_let_25 (ho_11 k_10 _let_22))) (let ((_let_26 (or _let_25 _let_23))) (let ((_let_27 (forall ((M tptp.movelist) (D tptp.direction)) (let ((_let_1 (ho_4 (ho_3 k_2 (ho_6 k_5 M)) D))) (or (ho_11 k_10 _let_1) (= _let_1 (ho_6 k_5 (ho_9 (ho_8 k_7 M) D)))))))) (let ((_let_28 (EQ_RESOLVE (ASSUME :args (_let_10)) (TRANS (MACRO_SR_EQ_INTRO :args (_let_10 SB_DEFAULT SBA_FIXPOINT)) (PREPROCESS :args ((= (forall ((M tptp.movelist) (D tptp.direction)) (let ((_let_1 (@ (@ tptp.next (@ tptp.playerpos M)) D))) (or (@ tptp.wall _let_1) (= (@ tptp.playerpos (@ (@ tptp.movedir M) D)) _let_1)))) _let_27))))))) (let ((_let_29 (_let_27))) (let ((_let_30 ((ho_4 (ho_3 k_2 (ho_6 k_5 M)) D)))) (let ((_let_31 (ho_11 k_10 _let_16))) (let ((_let_32 (not _let_25))) (let ((_let_33 (ho_11 k_10 _let_15))) (let ((_let_34 (or _let_33 _let_24))) (let ((_let_35 (@ (@ tptp.next _let_2) tptp.right))) (let ((_let_36 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_34)) :args ((or _let_33 _let_24 (not _let_34)))) (EQ_RESOLVE (ASSUME :args (_let_7)) (TRANS (MACRO_SR_EQ_INTRO :args (_let_7 SB_DEFAULT SBA_FIXPOINT)) (MACRO_SR_EQ_INTRO _let_19 :args ((not _let_6) SB_DEFAULT SBA_FIXPOINT)) (PREPROCESS :args ((= (not (@ tptp.wall _let_35)) (not _let_33)))))) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_28 :args (tptp.nomove tptp.right QUANTIFIERS_INST_E_MATCHING _let_30)) :args _let_29)) _let_28 :args (_let_34 false _let_27)) :args (_let_24 true _let_33 false _let_34)))) (let ((_let_37 (not _let_31))) (let ((_let_38 (EQ_RESOLVE (ASSUME :args (_let_5)) (TRANS (MACRO_SR_EQ_INTRO :args (_let_5 SB_DEFAULT SBA_FIXPOINT)) (MACRO_SR_EQ_INTRO _let_19 :args ((not _let_4) SB_DEFAULT SBA_FIXPOINT)) (PREPROCESS :args ((= (not (@ tptp.wall (@ (@ tptp.next _let_35) tptp.right))) _let_37))))))) (let ((_let_39 (and _let_37 _let_24))) (let ((_let_40 (_let_37 _let_24))) (let ((_let_41 (APPLY_UF ho_4))) (let ((_let_42 (REFL :args (tptp.right)))) (let ((_let_43 (APPLY_UF ho_3))) (let ((_let_44 (ASSUME :args (_let_24)))) (let ((_let_45 (SYMM (SYMM _let_44)))) (let ((_let_46 (REFL :args (k_2)))) (let ((_let_47 (and _let_24 _let_23))) (let ((_let_48 (ASSUME :args (_let_23)))) (SCOPE (SCOPE (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_20 :args (_let_13 QUANTIFIERS_INST_CBQI_CONFLICT)) :args (_let_11))) (MACRO_RESOLUTION_TRUST (RESOLUTION (CNF_AND_NEG :args (_let_47)) (IMPLIES_ELIM (SCOPE (MODUS_PONENS (AND_INTRO _let_48 _let_44) (SCOPE (TRANS (CONG (CONG _let_46 _let_45 :args _let_43) _let_42 :args _let_41) (SYMM (SYMM _let_48))) :args (_let_23 _let_24))) :args (_let_24 _let_23))) :args (true _let_47)) _let_36 (MACRO_RESOLUTION_TRUST (REORDERING (CNF_OR_POS :args (_let_26)) :args ((or _let_25 _let_23 (not _let_26)))) (MACRO_RESOLUTION_TRUST (EQ_RESOLVE (RESOLUTION (CNF_AND_NEG :args (_let_39)) (IMPLIES_ELIM (SCOPE (MODUS_PONENS (AND_INTRO _let_38 _let_44) (SCOPE (FALSE_ELIM (TRANS (CONG (REFL :args (k_10)) (CONG (CONG _let_46 (SYMM _let_45) :args _let_43) _let_42 :args _let_41) :args (APPLY_UF ho_11)) (FALSE_INTRO _let_38))) :args _let_40)) :args _let_40)) :args (true _let_39)) (CONG (MACRO_SR_PRED_INTRO :args ((= (not _let_37) _let_31))) (REFL :args ((not _let_24))) (REFL :args (_let_32)) :args (or))) _let_38 _let_36 :args (_let_32 true _let_31 false _let_24)) (MACRO_RESOLUTION_TRUST (IMPLIES_ELIM (SCOPE (INSTANTIATE _let_28 :args (_let_12 tptp.right QUANTIFIERS_INST_E_MATCHING _let_30)) :args _let_29)) _let_28 :args (_let_26 false _let_27)) :args (_let_23 true _let_25 false _let_26)) :args (_let_17 false _let_24 false _let_23)) _let_20 :args (false false _let_17 false _let_11)) :args ((forall ((D1 tptp.direction) (D2 tptp.direction) (P tptp.position)) (let ((_let_1 (@ tptp.next P))) (= (@ (@ tptp.next (@ _let_1 D1)) D2) (@ (@ tptp.next (@ _let_1 D2)) D1)))) (forall ((P tptp.position)) (= (@ (@ tptp.next (@ (@ tptp.next P) tptp.left)) tptp.right) P)) (forall ((P tptp.position)) (= (@ (@ tptp.next (@ (@ tptp.next P) tptp.top)) tptp.bottom) P)) _let_10 (forall ((PO tptp.position) (M tptp.movelist) (D tptp.direction)) (=> (= (@ tptp.playerpos M) PO) (=> (@ tptp.wall (@ (@ tptp.next PO) D)) (= (@ tptp.playerpos (@ (@ tptp.movedir M) D)) PO)))) _let_9 _let_8 (= (@ tptp.wall tptp.c00) false) _let_7 _let_5 _let_3 _let_1 true)))))))))))))))))))))))))))))))))))))))))))))))))))
% 0.21/0.54 )
% 0.21/0.54 % SZS output end Proof for PUZ141^1
% 0.21/0.54 % cvc5---1.0.5 exiting
% 0.21/0.54 % cvc5---1.0.5 exiting
%------------------------------------------------------------------------------